(1) Field of the invention
The invention relates in broad outline to an arrangement for changing the sampling frequency f.sub.i of a discrete-time signal into a sampling frequency f.sub.u. An arrangement of this type will hereinafter be referred to as sample rate converter and the ratio f.sub.u /f.sub.i will be referred to as the conversion factor. The invention particularly relates to a sample rate converter in which the conversion factor is non-rational (for example, .sqroot.2 or 1/.sqroot.2).
(2) Description of the prior art
Sample rate converters have been generally known for many years. They are used to increase or decrease the sampling frequency of a discrete-time signal. In the former case, the converter is sometimes referred to as an interpolator, in the latter case as a decimator. For a general background about interpolators and decimators, reference is made to the references 1-6 in section C.
A sample rate converter generally comprises a signal processing circuit. The discrete-time signal is applied thereto as an input signal whose sampling frequency must be changed, and furthermore receives so-called filter coefficients. It supplies the desired discrete-time signal as an output signal. Each sample of this discrete-time output signal is equal to the sum of a number of, for example, M samples of the discrete-time input signal in which each of these input samples is weighted with a filter coefficient.
To calculate an output sample, a group of M filter coefficients must be principally available. These filter coefficients are supplied by a filter coefficient generator and, as is known, represent samples of the finite pulse response h(v) of a predetermined filter (v is a continuously variable in the interval -.infin.&lt;v&lt;.infin.).
If the sample rate converter is a decimator, and if the conversion factor is 1/R, with R being an integer, it does not supply an output sample until after it has received R input samples. For the calculation of each output sample the same group of M filter coefficients is used. A memory in which the M filter coefficients are stored may be used as a filter coefficient generator.
If the sample rate converter is an interpolator, and if the conversion factor is equal to R, it supplies R output samples whenever a new input sample has been received. For each of these R output samples the filter coefficient generator must supply an appropriate group of filter coefficients. Also, in this case, a memory in which the required (for example, RM) filter coefficients are stored may be used as a filter coefficient generator.
When, as in the above described cases, the quantity R is an integer, the required filter coefficients are invariable. The situation is entirely different when R is non-rational. In that case the required filter coefficients for each output sample must be calculated separately. Filter coefficient generators that can fulfill this task have been described extensively in references 7 and 8 (listed in the References section below). More particularly, reference 7 describes a decimator, whereas reference 8 describes an interpolator. Each filter coefficient generator used therein comprises a deviation circuit to which on the one hand, clock pulses occurring at a "low" rate f.sub.1 (hereinafter referred to as low-rate clock pulses), and on the other hand, clock pulses occurring at a "high" rate f.sub.h (hereinafter referred to as high-rate clock pulses) are applied. Each time after a low-rate clock pulse has occurred, this deviation circuit supplies a deviation d whose magnitude is proportional to the ratio between the time interval T.sub.d between this low-rate clock pulse and the immediately subsequent or immediately preceding high-rate clock pulse and the time interval 1/f.sub.h between two consecutive high-rate clock pulses. In a mathematical form this is: EQU d=T.sub.d .multidot.f.sub.h ( 1)
The deviation d thus obtained is applied to a calculation circuit which, starting from the predetermined pulse response h(v), calculates the required filter coefficients. When the m.sup.th filter coefficient to be calculated is symbolically represented by a(m), there applies that: EQU a(m)=h(d+m)/f.sub.h ( 2)
If the sample rate converter is a decimator, as in reference 7, f.sub.h is equal to the sampling frequency f.sub.i of the input signal and f.sub.l is equal to the sampling frequency f.sub.u of the output signal. If the sample rate converter is an interpolator, these equalities are reversed.